WinEMU - The C16/Plus4 Emulator

Skriven av Zsolt Prievara

Version: 0.46R4

Svensk översättning: Linus Åkerlund

Minimala system-krav:

- Intel Pentium 166MHz-processor eller bättre (Intel Celeron 300A rekommenderas)
- 16MB minne (32MB rekommenderas)
- Windows 95/98/NT4+SP4
- DirectX 3.0 eller bättre
- DirectX-kompatibelt VGA-kort

Programmet fungerar utan ljudkort. Men för att ljudet ska emuleras måste du ha ett DirectX-kompatibelt ljudkort.

WinEMU består av två program: WinEMUSetup och WinEMU. Med det första programmet kan du ställa in standardvärden. Det andra programmet är emulatorn. Jag rekommenderar att du först kör WinEMUSetup. Detta program använder systemregistret.

WinEMUSetup
Med detta program kan du ställa in följande värden:
- upplösning (320x200, 320x240, 400x300, 512x384, 640x400, 640x480, 800x600) - (Screen resolution),
- ModeX-stöd för bärbara datorer,
- ljudemulering (Sound emulation),
- starta i debuggern (Debug),
- process-prioritet under Windows (Process priority),
- standard-synkronisering (Default synchronization),
- standard-joystick (Default joystick),
- logg-filer (Create startup log),
- inbyggda Plus4-ROM (Plus4 ROMs).

320x200-läget är den snabbaste och fungerar bra på alla datorer. 400x300-läget är det bästa valet, för i detta läge emuleras ramen. Alla VGA-kort klarar inte av det här läget. Det sista läget, 512x384, finns bara där för skojs skull. Om ditt kort inte klarar av 400x300, så pröva det här, det kan fungera.

ModeX: Om du ser en svart skärm när du startar programmet rekommenderar jag att du använder den här funktionen. Dina DirectX-drivrutiner kan inte hantera ditt grafikkort på ett korrekt kort, och det här kan hjälpa. Detta gäller oftast bärbara datorer.

Du kan naturligtvis bara använda ljudemulering om du har ett DirectX-kompatibelt ljudkort. Om du inte har det, slå av ljudemuleringen, så hoppar programmet över sakerna som har att göra med ljud.

Om du vill undersöka "boot"-sekvensen på den emulerade datorn så kan du använda funktionen Start debugger.

Windows-prioriteten är inte alltför viktig, så du kan låta den stå på Normal-nivån. Om du väljer en högre prioritetsnivå så kan andra program stanna!

Om du inte vill välja synkronisering i programmet så kan du välja ett standardvärde här.

Du kan även göra en standard-inställning för joystick-emuleringen.

Du kan slå av eller på Plus4-ROM-filerna. (3plus1lo.rom and 3plus1hi.rom).

WinEMU
Detta är själva emulatorn. Efter att du startat den så initialiseras DirectX-systemet och om inga fel uppstår så kommer C16/Plus4-skärmen dyka upp.

Tangentbords-layout:

TAB

Run/Stop

Vänster Alt

Commodore

Home

Clear/Home

F6

Spara OUTPUT.BMP

F7

Inställningar

F8

Ladda-meny

Shift F8

Spara-meny

F9

Debugger

Shift F9

Snabb-register

F11

Mjuk reset

Shift F11

Hård reset

F12

Avsluta

Inställningar
J - Ändra joystick-emulering

S - Ändra synkroniseringen:

O - Slå på och av ljud (om ljud-emuleringen är påslagen)

Ladda
Med vänsterpil och högerpil kan du välja laddningsmedium: program (*.prg), snapshot (*.fre), band (*.t64) eller disk (*.d64). För tillfället fungerar bara program och snapshot, de andra kommer implementeras senare. Om du trycker ENTER kommer den markerade *.prg- eller *.fre-filen laddas.

Spara
Du kan sparar minnesinnehållet till en *.prg- eller *.fre-fil. Du måste ange ett filnamn och, om det krävs, ett minnesområde. De sparade *.fre-filerna är kompatibla med Minus4.

Debugger
Debuggern innehåller följande fyra delar:
- disassembler (F1)
- minnes-dump (F2)
- TED-register (F3)
- CPU-register (F4)

Tryck ESC för att gå tillbaks till emulatorn.

Snabb-register

Om du slår på denna funktion så kommer du se aktuellt registerinnehåll efter varje frame.

Disassembler
Disassemblern disassemblerar minnes-innehållet från det aktuella värdet i PC-registret (Program Counter, programräknaren). Med upp- och nerpil kan du röra dig. Med PageUp och PageDown kan du hoppa upp eller ner en sida.

Fler tangenter:

F2 - Minnes-dump
F3 - TED-register
F4 - CPU-register
F5 - Hoppa till given adress (PC-registret kommer INTE ändras!)
F6 - Sätt BreakPoint
F7 - stega över JSR (step over)
F8 - normal körning (step in)
B - BreakPoint På/Av
Shift F8 - snabb-körning (för långa cykler)
TAB - gå till nästa sida (minnes-dump)

Minnes-dump
I denna avdelning visas minnesinnehållet hexadecimalt och i tecken-form. Du kan röra dig med piltangenterna: upp, ner, PageUp och PageDown. Dumpen börjar vid aktuellt värde i PC. Om du trycker L så kommer den aktuella dump-adressen sparas och vidare dumpar kommer starta från samma adress. Genom att trycka T hoppar du till TED-register-området. Om du trycker TAB så visas TED-register-sidan.

Mer tangenter:

F1 - Disassembler
F3 - TED-register
F4 - CPU-register

TED-register
Här kan du se TED-registrens innehåll i ett bättre format. Om du trycker TAB så kommer du till CPU-register-sidan.

Mer tangenter:

F1 - Disassembler
F2 - Minnes-dump
F4 - CPU-register

CPU-register
Här ser du CPU-registren. Du kan ändra i dem. Om du t.ex. vill köra programmet från en annan adress så är det bara att ändra värdet i PC.

Slutligen...

Jag vill tacka Tibor Biczó, Mike Dailly och Róbert Cseh för den extremt användbara tekniska hjälp de gett mig. Jag vill även tacka följande individer för deras hjälp:
Zsombor Bolyóczki,
Tamás Nagy,
Stephan Süberkrüb,
Ben Wise,
Péter Gyukity,
Linus Åkerlund,
Andrzej Pawlowski,
och alla andra som har berättat om sina erfarenheter och gett mig idéer.

Om du gillar WinEMU eller hittar en CPU-bugg, var vänlig och skriv till följande adress:

zsolt@emuunlim.com

eller

zsolt@szentes.hu